package com.project.bean;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/**
 * <p>
 * 用户实体
 * </p>
 *
 * @author lhy
 * @since 2021-10-05
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("sys_user")
public class UserBean extends Model implements Cloneable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户主键（自增）
     */
    @TableId(value = "userId", type = IdType.AUTO)
    private Integer userId;

    /**
     * 用户编号
     */
    @TableField("userCode")
    private String userCode;

    /**
     * 用户名（在本系统中）
     */
    @TableField("userName")
    private String userName;

    /**
     * 微信用户登录唯一标识
     */
    @TableField("openid")
    private String openid;

    /**
     * 商铺权限（默认0）
     */
    @TableField("shopStatus")
    private Integer shopStatus = 0;

    /**
     * 骑手权限（默认0）
     */
    @TableField("riderStatus")
    private Integer riderStatus = 0;

    /**
     * 默认收货地址外键（默认0）
     */
    @TableField("sendInfoId")
    private Integer sendInfoId = 0;

    /**
     * 真实姓名
     */
    @TableField("realName")
    private String realName;

    /**
     * 电话
     */
    @TableField("phone")
    private String phone;

    /**
     * 性别
     */
    @TableField("gentle")
    private String gentle;

    /**
     * 注册日期
     */
    @TableField("date")
    private String date = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

    @Override
    public UserBean clone() throws CloneNotSupportedException {
        return (UserBean) super.clone();
    }
}
